package net.cloudbusniness.cloudbusinessclient.ui.activity;

import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.support.design.widget.NavigationView;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ImageView;
import android.widget.TabHost;

import net.cloudbusniness.cloudbusinessclient.R;

/**
 * time 2017-2-16
 * by hulei
 */
public class MainActivity extends TabActivity implements
        TabHost.OnTabChangeListener
        , NavigationView.OnNavigationItemSelectedListener {
    private TabHost mHost;
    private View tabPrevious;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        setupIntent();

    }

    public void initView(){
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
       /* FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        });*/

        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
        drawer.setDrawerListener(toggle);
        toggle.syncState();

        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
        navigationView.setNavigationItemSelectedListener(this);
        mHost = (TabHost) findViewById(android.R.id.tabhost);
    }

    // tab由左数起 0 1 2 3 4
    private void setupIntent() {
        /*侵入式状态栏*/
        //CommonUtils.setToober(this);
        /*设置tab*/
        mHost.addTab(createTab("0", R.mipmap.fans_unselect,
                R.mipmap.fans_select, new Intent(this,
                        FriendListActivity.class)));
        mHost.addTab(createTab("1", R.mipmap.fans_unselect,
                R.mipmap.fans_select, new Intent(this,
                        FriendListActivity.class)));
        mHost.addTab(createTab("2", R.mipmap.fans_unselect,
                R.mipmap.fans_select, new Intent(this,
                        FriendListActivity.class)));
       /* mHost.addTab(createTab("3", R.drawable.tab_mine,
                R.drawable.tab_mine_touch, new Intent(this,
                        MainPageActivityEx4.class)));
*/
        tabPrevious = mHost.getTabWidget().getChildTabViewAt(0);
        mHost.setCurrentTab(2);
        mHost.setOnTabChangedListener(this);
        mHost.setCurrentTab(0);
    }

    private TabHost.TabSpec createTab(String tag, Integer resId,
                                      Integer resIdOnclick, Intent content) {
        View view = View.inflate(this, R.layout.bottom_tabs_item, null);
        ImageView tabImg = (ImageView) view
                .findViewById(R.id.bottom_tabs_item_img);
        tabImg.setImageResource(resId);
        ImageView tabImgClick = (ImageView) view
                .findViewById(R.id.bottom_tabs_item_img_onclick);
        tabImgClick.setImageResource(resIdOnclick);
        return mHost.newTabSpec(tag).setIndicator(view).setContent(content);
    }
    @Override
    public void onBackPressed() {
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        if (drawer.isDrawerOpen(GravityCompat.START)) {
            drawer.closeDrawer(GravityCompat.START);
        } else {
            super.onBackPressed();
        }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }

    @SuppressWarnings("StatementWithEmptyBody")
    @Override
    public boolean onNavigationItemSelected(MenuItem item) {
        // Handle navigation view item clicks here.
        int id = item.getItemId();

        if (id == R.id.nav_camera) {
            // Handle the camera action
        } else if (id == R.id.nav_gallery) {

        } else if (id == R.id.nav_slideshow) {

        } else if (id == R.id.nav_manage) {

        } else if (id == R.id.nav_share) {

        } else if (id == R.id.nav_send) {

        }

        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        drawer.closeDrawer(GravityCompat.START);
        return true;
    }

    @Override
    public void onTabChanged(String s) {
        View view = tabPrevious;
        view.findViewById(R.id.bottom_tabs_item_img_onclick).setVisibility(
                View.INVISIBLE);
        view.findViewById(R.id.bottom_tabs_item_img)
                .setVisibility(View.VISIBLE);
        view = mHost.getCurrentTabView();
        view.findViewById(R.id.bottom_tabs_item_img).setVisibility(
                View.INVISIBLE);
        view.findViewById(R.id.bottom_tabs_item_img_onclick).setVisibility(
                View.VISIBLE);
        tabPrevious = view;
    }
}
